﻿
Option Strict On

Imports System.Configuration

Namespace Configuration
	
	Public Class PluginElement
		Inherits ConfigurationElement
        Implements IComparable

        Public Sub New()
            MyBase.New()

        End Sub


        <ConfigurationProperty("loadOrder", IsRequired:=True)> _
        Public Property LoadOrder As Integer
            Get
                Return CInt(Me("loadOrder"))
            End Get
            Set(ByVal value As Integer)
                Me("loadOrder") = value
            End Set
        End Property


        <ConfigurationProperty("assembly", IsRequired:=True)> _
        Public Property Assembly As String
            Get
                Return CStr(Me("assembly"))
            End Get
            Set(ByVal value As String)
                Me("assembly") = value
            End Set
        End Property


        <ConfigurationProperty("entryType", IsRequired:=True)> _
        Public Property EntryType As String
            Get
                Return CStr(Me("entryType"))
            End Get
            Set(ByVal value As String)
                Me("entryType") = value
            End Set
        End Property

        Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
            Return CType(obj, PluginElement).LoadOrder.CompareTo(Me.LoadOrder)
        End Function
    End Class
	
End Namespace
